
package com.scs.application.modules.settlement.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.scs.application.core.service.IBaseService;
import com.scs.application.modules.settlement.dto.InvoiceItemDTO;
import com.scs.application.modules.settlement.entity.InvoiceItem;
import com.scs.application.modules.settlement.request.InvoiceItemQueryRequest;
import com.scs.application.modules.settlement.vo.InvoiceItemVO;

import java.util.List;

/**
 * 发票单明细 service 接口
 *
 */
public interface InvoiceItemService extends IBaseService<InvoiceItem> {

    List<InvoiceItem> list(InvoiceItemQueryRequest request);

    /**
     * 开票单详情
     *
     * @param request
     * @return
     */
    List<InvoiceItemVO> listForView(InvoiceItemQueryRequest request);

    /*根据科室分组*/
    List<InvoiceItemVO> listForViewByHrpKey(InvoiceItemQueryRequest request);


    IPage<InvoiceItem> page(InvoiceItemQueryRequest request);

    /**
     * 发票单明细 关联页
     *
     * @param request
     * @return
     */
    IPage<InvoiceItemVO> pageForRelate(InvoiceItemQueryRequest request);

    /**
     * 发票单明细 查看页
     *
     * @param request
     * @return
     */
    IPage<InvoiceItemVO> pageForView(InvoiceItemQueryRequest request);

    /**
     * 批量删除
     *
     * @param ids
     * @param invoiceLineId
     * @return
     */
    boolean batchDelete(List<String> ids, String invoiceLineId);


    Double deleteInvoiceItem(InvoiceItemDTO invoiceItemDTO);

}
